package Negocio;

import java.util.ArrayList;
import javax.persistence.*;
import DTO.TallerGeneralVO;
import SRV.DireccionSRV;
import SRV.FacturaProveedorSRV;

@Entity
@DiscriminatorValue("tallerGeneral")
public class TallerGeneral extends Proveedor
{
	
	public TallerGeneral(long cuit, String nombre, Direccion direccion) 
	{
		super(cuit, nombre, direccion);
	}

	public TallerGeneral() {}

	public TallerGeneral toBusiness(TallerGeneralVO taller){
	    Direccion direccion = new Direccion();
	    DireccionSRV daoDir =  new DireccionSRV();
	    direccion = daoDir.getDireccion(taller.getDireccion());
	    
	    TallerGeneral devuelto = new TallerGeneral(taller.getCuit(), taller.getNombre(), direccion);
	    
	    FacturaProveedor factura = new FacturaProveedor();
	    FacturaProveedorSRV daoFact = new FacturaProveedorSRV();
	    
	    for (Integer idAux : taller.getFacturas()){
	    	factura = daoFact.getFacturaProvvedor(idAux);
	    	devuelto.agregarFactura(factura);
	    }
	    return devuelto;
	}
	
	
	public TallerGeneralVO toVO(){
	    ArrayList<Integer> facturasVO = new ArrayList<Integer>();
		    for (FacturaProveedor aux : getFacturas()){
			facturasVO.add(aux.getIdFacturaProveedor());
	    }
	    
	    TallerGeneralVO agenteVO =  new TallerGeneralVO(getCuit(), this.getNombre(), this.getDireccion().getIdDireccion(), facturasVO);
	    return agenteVO;
	}
	
	public boolean esCarrier(){
		return false;
	}
	
	public boolean esTallerGeneral(){
		return true;
	}
	
	public boolean esTallerOficial(){
		return false;
	}
	
	public boolean esAgenteOficial(){
		return false;
	}
	
	public boolean esEmpresaSeguros(){
		return false;
	}
	
	public boolean esEmpresaSeguridad(){
		return false;
	}
}
